home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / parallax / ibm_pc_d.exe / SAMPLES / AUTO.P next >
Text File  |  1992-11-06  |  800b  |  40 lines

  1. SYSTEM cellular_automaton;
  2. CONST n = 79;  (* number of elements *)
  3.       m = 50;  (* number of loops *)
  4. CONFIGURATION list [1..n];
  5. CONNECTION left:  list[i] -> list[i-1] .right;
  6.            right: list[i] -> list[i+1] .left;
  7.  
  8. SCALAR i      : INTEGER;
  9. VECTOR val,l,r: BOOLEAN;
  10.  
  11. PROCEDURE out;
  12. SCALAR a: ARRAY[1..n] OF BOOLEAN;
  13.        j: INTEGER;
  14. BEGIN
  15.   STORE(val,a);
  16.   FOR j:=1 TO n DO
  17.     IF a[j] THEN Write("X") ELSE Write(" ") END;
  18.   END;
  19.   WriteLn
  20. END out;
  21.  
  22. BEGIN
  23.   PARALLEL (* Init *)
  24.     val := FALSE;
  25.   ENDPARALLEL;
  26.   PARALLEL [n DIV 2] (* middle *)
  27.     val := TRUE;
  28.   ENDPARALLEL;
  29.  
  30.   FOR i:= 1 TO m DO
  31.     PARALLEL
  32.       out;
  33.       PROPAGATE.left (val,l);
  34.       PROPAGATE.right(val,r);
  35.       val := l<>r;
  36.     ENDPARALLEL;
  37.   END;
  38. END cellular_automaton.
  39.  
  40.